package com.zmn.mcc.permit.mysql.annotation;

import com.zmn.mcc.permit.mysql.enums.DPermitTypeEnum;
import org.springframework.stereotype.Indexed;

import java.lang.annotation.*;

/**
 * 数据权限开关：用于DAO配置，提升性能
 *
 * @author duanzuocai
 * @version v1.0
 * @since 2020/6/19 11:49
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Indexed
public @interface ZmnDPermitConfig {

    /** 别名 */
    String alias();

    /** 权限主体：员工ID（指定员工ID） */
    String staffId() default "";

    /** 权限主体：员工登录对象 */
    String loginStaff() default "";

    /** 类型：需要权限过滤的类型 */
    DPermitTypeEnum[] types();

    /** 自定义列名 */
    ZmnDPermitType[] mapping() default {};

}
